_h_a_n_d_l_e DDDDMMMMGGGG777722222222eeeennnnccccooooddddeeeerrrr structure, created by ddddmmmmGGGG777722222222EEEEnnnnccccooooddddeeeerrrrCCCCrrrreeeeaaaatttteeee((((3333ddddmmmm)))),
specifies the signal processing parameters.
_i_b_u_f pointer to input sample data buffer. The data format is short
(16-bit). The samples are assumed to be two's complement.
Sampling rate must be 16 kHz or less.
_o_b_u_f pointer to output data buffer. The data format is unsigned
char (8-bit).
_n_s_a_m_p_l_e_s number of samples in the input buffer to be processed. the
value of nsamples passed to the G.722 encode/decode routines
must always be a multiple of 2. It will fail if nsamples
exceeds the the maximum value specified when the DMG722encoder
Returns DDDDMMMM____FFFFAAAAIIIILLLLUUUURRRREEEE or DDDDMMMM____SSSSUUUUCCCCCCCCEEEESSSSSSSS.
DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
ddddmmmmGGGG777722222222EEEEnnnnccccooooddddeeee((((3333ddddmmmm)))) implements the ITU Recommendation G.722 compression.
If sampling rate is less than 16 kHz, the algorithm still works, except
the upper bits contains less useful information.
ddddmmmmGGGG777722222222EEEEnnnnccccooooddddeeee((((3333ddddmmmm)))) algorithm uses bandpass filter operations that convolve
past input samples with a filter M-coefficient array. The linear phase
filter has a constant time delay of G = (M-1)/2 samples.
ddddmmmmGGGG777722222222DDDDeeeeccccooooddddeeee((((3333ddddmmmm)))) algorithm also uses bandpass filter operations. The
total delay for operating ddddmmmmGGGG777722222222EEEEnnnnccccooooddddeeee((((3333ddddmmmm)))) and ddddmmmmGGGG777722222222DDDDeeeeccccooooddddeeee((((3333ddddmmmm)))) will be
2*G = M-1 samples. This constant is _AU_G722_QMF_DELAY, which is 23.